BBC Micro Model A/B (standard configuration) |
|
Developer | Acorn Computers |
Release date | 1 December 1981 |
Retail availability | 12 years |
Introductory price | £235 Model A, £335 Model B (in 1981) |
Discontinued | 1994 |
Units sold | over 1.5 million |
Media | Cassette tape, floppy disc (optional), hard disc (rare), Laserdisc (BBC Domesday Project) |
Operating system | Acorn MOS |
CPU | 2 MHz MOS Technology 6502/6512 |
Storage capacity |
100–800 kB (DFS) |
Memory |
16–32 kB (Model A/B) |
Display | PAL/NTSC, UHF/composite/TTL RGB |
Graphics |
640×256, 8 colours (various framebuffer modes) |
Sound | Texas Instruments SN76489, 4 channels, mono TMS5220 speech synthesiser with phrase ROM (optional) |
Input | Keyboard, twin analogue joysticks with fire buttons, lightpen |
Connectivity | Printer parallel, RS-423 serial, user parallel, Econet (optional), 1 MHz bus, Tube second processor interface |
Predecessor | Acorn Atom |
Successor | Acorn Archimedes |
Related articles | Acorn Electron |
The BBC Microcomputer System, or BBC Micro, was a series of microcomputers and associated peripherals designed and built by Acorn Computers for the BBC Computer Literacy Project, operated by the British Broadcasting Corporation. Designed with an emphasis on education, it was notable for its ruggedness, expandability and the quality of its operating system.
Following the Literacy Project's call for bids for a computer to accompany the TV programmes and literature, Acorn won the contract with the Proton, a successor to its Atom computer prototyped at short notice. Renamed the BBC Micro, the platform was adopted by most schools and became a cornerstone of computing in British education in the 1980s, changing Acorn's fortunes. It was also moderately successful as a home computer in the United Kingdom despite its high cost. The machine played a direct part in the development of the ARM architecture which sees widespread use in embedded systems as of 2011.
While nine models were eventually produced with the BBC brand, the term "BBC Micro" is usually colloquially used to refer to the first six (Model A, B, B+64 and B+128, Master 128, Master Compact), with the subsequent models considered as part of the Archimedes series.
Contents |
In the early 1980s, the BBC started what became known as the BBC Computer Literacy Project. The project was initiated partly in response[1] to an extremely influential ITV documentary series The Mighty Micro, in which Dr Christopher Evans from the National Physical Laboratory predicted the coming microcomputer revolution and its impact on the economy, industry, and lifestyle of the United Kingdom.
The BBC wanted to base its project on a microcomputer capable of performing various tasks which they could then demonstrate in their 1982 TV series The Computer Programme. The list of topics included programming, graphics, sound and music, Teletext, controlling external hardware and artificial intelligence. It decided to badge a micro, then drew up a fairly ambitious (for its time) specification and asked for takers. The BBC discussed the requirement with several companies including Sinclair Research, Newbury Laboratories, Dragon[1] and Acorn.
The Acorn team had already been working on an upgrade to their existing Atom microcomputer. Known as the Proton, it included better graphics and a faster 2 MHz MOS Technology 6502 CPU. The machine was only in prototype form at the time, but the Acorn team, largely made up of students including Sophie Wilson and Steve Furber, worked through the night to get a working Proton together to show the BBC.[2] Not only was the Acorn Proton the only machine to match the BBC's specification, it also exceeded it in nearly every parameter.[1]
The machine was released as the BBC Microcomputer on 1 December 1981[3] – the BBC hesitates to confirm an official launch date[4] – and became affectionately known as the Beeb.[5] The machine was popular in the UK, especially in the educational market: roughly 80 per cent of British schools had a BBC micro.[6][7] As with Sinclair's ZX Spectrum and Commodore's Commodore 64, both released later in 1982, demand greatly exceeded supply. For some months, there were long delays before customers received the machines they had ordered. Efforts were made to market the machine in the United States and Germany.[8] By October 1983, the US operation reported that American schools had placed orders with it totalling $21 million.[9] In October 1984, while preparing a major expansion of its US dealer network, Acorn claimed sales of 85 per cent of the computers in British schools, and delivery of 40,000 machines per month.[10] That December, Acorn stated its intention to become the market leader in US educational computing.[11] The New York Times viewed the inclusion of local area networking to be of prime importance to teachers.[11] The operation resulted in adverts being placed by at least one dealer in Interface Age magazine,[12] but ultimately the attempt failed. The success of the machine in the UK was largely due to its acceptance as an "educational" computer – the vast majority of UK schools used BBC Micros to teach computer literacy and information technology skills.[1] Some Commonwealth countries, like India, started their own Computer Literacy programs around 1987 and used the BBC Micro, a clone of which was produced by the Semiconductor Complex Limited and called the SCL Unicorn.[13][14][15]
An advantage for the BBC Micro in the educational market was its durable construction. Both casing and keyboard were solidly built and able to cope with all the abuse that schoolchildren could throw at them.
The Model A and the Model B were initially priced at £235 and £335 respectively, but rising almost immediately to £299 and £399 due to increased costs.[16] Acorn anticipated the total sales to be around 12,000 units, but eventually more than 1.5 million BBC Micros were sold.[7][17]
The cost of the BBC Models was high compared to competitors such as the ZX Spectrum and the Commodore 64 and in 1983, Acorn attempted to counter this by producing a largely compatible but cut-down version intended for game playing, the 32K Acorn Electron. Games written specially for the Electron's more limited hardware could usually also be run on the Model B.
The Model A had 16 kB of user RAM, while the Model B had 32 kB. A feature that the Micro shared with other 6502 computers such as the Apple and the early Commodore models was that the RAM was clocked twice as fast as the CPU (4 MHz), with alternating access given to the CPU and the video display circuits. This gave the BBC Micro a fully unified memory address structure with no speed penalties. Most competing micros with memory-mapped display incurred CPU speed penalties depending on the actions of the video circuits (e.g. the Amstrad CPC and to a lesser extent the ZX Spectrum) or kept video memory completely separate from the CPU address pool (e.g. the MSX).
The machine included a number of extra I/O interfaces: serial and parallel printer ports; an 8-bit general purpose digital I/O port; a port offering four analogue inputs, a light pen input, and switch inputs; and an expansion connector (the "1 MHz bus") that enabled other hardware to be connected. Extra ROMs could be fitted (four on the PCB or sixteen with expansion hardware) and accessed via paged memory. An Econet network interface and a disk drive interface were available as options. All motherboards had space for the electronic components, but Econet was rarely fitted. Additionally, an Acorn proprietary interface called the "Tube" allowed a second processor to be added. Three models of second processor were offered by Acorn, based on the 6502, Z80 and 32016 CPUs. The Tube was later used in third-party add-ons, including a Zilog Z80 board and hard disk drive from Torch that allowed the BBC machine to run CP/M programs.
The Tube interface allowed Acorn to use ARM CPU-equipped BBC Micros as software development tools when creating the Acorn Archimedes. This resulted in the ARM development kit for the BBC Micro in 1986, priced at around £4000.[18] In 2006 a kit with an ARM7TDMI CPU running at 64 MHz, with up to 64 MB of RAM, was released for the BBC Micro and Master, using the Tube interface to turn the old 8-bit micros into 32-bit RISC machines just as Acorn had done two decades previously.[19] Among the software titles to run on the Tube were an enhanced version of Elite (see below) and a CAD package that required a second 6502 CPU and a 5-dimensional joystick called a "Bitstik"[1].
The Model A and the Model B were built on the same PCB and a Model A could be upgraded to a Model B without too much difficulty. Users wishing to run Model B software needed only to add the extra RAM and the user/printer 6522 VIA (which many games used for timers) and snip a link, a task that could be achieved without soldering. To do a full upgrade with all the external ports did, however, require soldering the connectors to the motherboard. The original machines shipped with "OS 0.1", with later updates advertised in magazines, supplied as a clip-in IC, with the last official version being "OS 1.2". Variations in the Acorn OS exist as a result of home-brew projects and modified machines can still be bought on internet auction sites such as eBay, as of 2011.
Early BBC Micros used linear power supplies at the insistence of the BBC's engineering specification, but these very hot-running PSUs were soon replaced in production by switched mode units.
An apparent oversight in the manufacturing process resulted in a significant number of Model Bs producing a constant buzzing noise from the built-in speaker. This fault could be partly rectified by soldering a resistor across two pads.[20]
There were five developments of the main BBC micro circuit board that addressed various issues through the models production, from 'Issue 1' through to 'Issue 7' with variants 5 and 6 not being released. The details of the technical changes were documented in the 1985 'BBC Microcomputer Service Manual' from Acorn.
Two export models were developed: one for the US,[21] with Econet and speech hardware as standard; the other for West Germany.[22] Both were fitted with RF shielding as required by the respective countries, and they were still based on the Intel 8271 floppy drive controller. From June 1983 the name was always spelled out in full – "British Broadcasting Corporation Microcomputer System" – to avoid confusion with Brown, Boveri & Cie in international markets.[23]
US models included BASIC III, modified to accept the American spelling of COLOR, but the height of the graphics display was reduced to 200 scan lines to suit NTSC TVs,[24] severely affecting applications written for British computers. After the failed US marketing campaign the unwanted machines were remanufactured for the British market and sold off,[25] resulting in a third 'UK export' variant.[26]
Acorn introduced the Model B+ in mid 1985, increasing the total RAM to 64 kB and including floppy-disk support as standard, but this had modest market impact. The extra RAM in the Model B+ BBC Micro was assigned as two blocks, a block of 20 kB dedicated solely for screen display (so-called "Shadow" RAM) and a block of 12 kB of 'special' Sideways RAM. The B+128 came with an additional 64 kB ( 4 × 16 kB "Sideways" RAM banks) to give a total RAM of 128 kB.
The new B+ was incapable of running some original BBC B programs and games, such as, for example, the very popular Castle Quest. A particular problem was the replacement of the Intel 8271 floppy disk controller with the Western Digital 1770 — not only was the new controller mapped to different addresses,[27] it was fundamentally incompatible and the many 8271 emulators that did exist were necessarily imperfect for all but basic operation.[28] A piece of software that used copy protection techniques involving direct access to the controller, simply would not run on the new system.[29]
There was also a long-running problem late on in the B/B+'s life infamous amongst B+ owners, when Superior Software released Repton Infinity, which refused to run on the B+. A string of unsuccessful replacements were issued before one compatible with both was finally released.
In 1986, Acorn followed up with the BBC Master, which offered memory sizes from 128 kB and many other refinements which improved on the 1981 original. At heart it was essentially the same 6502-based BBC architecture, with many of the upgrades that the original design had intentionally made possible (extra ROM software, extra paged RAM, second processors) now included on the circuit board as internal plug-in modules.
The BBC Micro platform amassed a large software base of games and educational titles, reflecting its dual niches at home and in the classroom. Notable examples of each include the original release of Elite[30] and Granny's Garden. Programming languages and some applications were supplied on ROM chips to be installed on the motherboard. These loaded instantly and left the RAM free for programs or documents.
Although appropriate content was little-supported by television broadcasters, telesoftware could be downloaded via the optional Teletext Adapter and the third-party teletext adaptors that emerged.
The built-in operating system, Acorn MOS, provided an extensive API to interface with all standard peripherals, ROM-based software and the screen.[31] Features private to some versions of BASIC, like vector graphics, keyboard macros, cursor-based editing, sound queues and envelopes, were placed in the MOS ROM and made available to any application. BBC BASIC itself, being in a separate ROM, could be replaced with any equivalent language.
BASIC, other languages and utility ROMs resided in any of four 16 kB paged ROM sockets on board, with OS support for sixteen sockets via expansion hardware. The paged ROM system was essentially modular. A language-independent system of star commands, prefixed with an asterisk, provided the ability to select a language (for example *BASIC, *PASCAL), filing system (*TAPE, *DISC), change settings (*FX
, *OPT
) or carry out ROM-supplied tasks (*COPY, *FORMAT) from the command line. The MOS recognised a handful of built-in commands, and polled the paged ROMs in descending order for service otherwise; if none of them claimed the command then the OS returned a Bad command
error. Connecting an external EPROM programmer, one could write extensive programs, burn to PROM or EPROM, then run them without taxing user memory.
Not all ROMs offered star commands (ROMs containing data files, for instance), but any ROM could claim certain vectors to enhance the system's functionality. Often this was a combined mass storage device driver and filing system, starting with Acorn's Disc Filing System in 1982 whose API became the de facto standard for floppy disc access. The Acorn GXR (Graphics eXtension ROM) expanded the VDU routines to draw geometric shapes, flood fills and sprites. In 1985 Micro Power designed and marketed a Basic Extension ROM,[32] introducing statements such as WHILE, ENDWHILE, CASE, WHEN, OTHERWISE, and ENDCASE, as well as direct mode commands including VERIFY.
Acorn strongly discouraged programmers from directly accessing the system variables and hardware, favouring official system calls.[33] This was ostensibly to make sure programs kept working when run on the Tube coprocessor, but it also made BBC Micro software more portable across the Acorn range. Whereas untrappable PEEKs and POKEs were commonly used on other computers to reach the system elements,[34] programs in either machine code or BBC BASIC would instead pass parameters to an operating system routine. In this way the MOS could translate the request for the local machine's devices and memory layout or send it across the Tube interface, as direct access was impossible from the coprocessor. Published programs largely stuck to the API but games routinely made direct accesses for increased speed, and thus required a particular Acorn model or MOS version.
As the early BBC Micros had ample I/O allowing machines to be interconnected, and as many schools and universities employed the machines in Econet networks, numerous networked multiplayer games were created. With the exception of a tank game, Bolo, few rose to popularity; in no small measure due to the limited number of machines aggregated in one place. A relatively late but well documented example can be found in a dissertation based on a ringed RS-423 interconnect.[35]
The built-in ROM-resident BBC BASIC programming language interpreter wholly supported the machine's educational focus. Advanced programs could be written without resorting to non-structured programming or machine code (necessary with many competing computers). Should one want or need to do some assembly programming, BBC BASIC featured a built-in assembler that allowed a very easy mixture of BBC BASIC and assembler for whatever processor BBC BASIC was running on.
When the BBC Micro was released, many competing home computers used Microsoft BASIC, or variants typically designed to resemble it. Compared to Microsoft BASIC, BBC BASIC supported IF…THEN…ELSE, REPEAT…UNTIL, named procedures and functions, but retained GOTO and GOSUB for compatibility. It also supported high-resolution graphics, four-channel sound, pointer-based memory access (borrowed from BCPL) and rudimentary macro assembly. Long variable names were accepted and distinguished completely, not just by the first two characters.
Acorn had produced their own 32-bit RISC CPU in 1985, (the ARM2) and were working on building a personal computer around it. This was released in 1987 as four models in the Archimedes series, with the lower-specified two models (with 512 kB and 1 MB respectively) released as BBC Microcomputers with the distinctive red function keys. Although the Archimedes ultimately was not a major success, the ARM family of processors has gone on to become the dominant processor architecture in mobile embedded consumer devices, particularly mobile phones.
Acorn's last BBC-related model, the BBC A3000, was released in 1989. It was essentially a 1 MB Archimedes back in a single case form factor.
As of 2005, thanks to its ready expandability and I/O functions, there are still numbers of BBCs in use, and a retrocomputing community of dedicated users finding new things to do with the old hardware. A BBC B+ was observed running the communications link in an unattended water pumping station in Oxhey in 1995. They still survive in a few interactive displays in museums across the country, and Jodrell Bank was reported to still be using a BBC Micro to steer its 42 ft radio telescope in 2004.[36] There are also a number of BBC Micro emulators for many OSs, so that even the original hardware is no longer necessary.
In March 2008, the creators of the BBC Micro met at the Science Museum in London. There was to be an exhibition about the computer and its legacy in 2009.[5]
The National Museum of Computing at Bletchley Park uses BBC Micros as part of a scheme to educate school children about computer programming.[37]
Model A | Model B | Model B+64 | Model B+128 | |
---|---|---|---|---|
Processor | MOS Technology 6502A at 2 MHz | Rockwell Semiconductor 6512A at 2 MHz | ||
RAM | 16 kB | 32 kB | 64 kB composed of 32 kB standard memory, 20 kB video (Shadow) memory and 12 kB extended (special Sideways) memory. | 128 kB composed of 32 kB standard memory, 20 kB video (Shadow) memory and 76 kB extended (Sideways) memory. |
ROM | 32 kB of ROM composed of a 16 kB MOS (Machine Operating System) chip, and 16 kB read-only paged space defaulting to the BBC BASIC chip. Four paged 16 kB ROM sockets standard, expandable to 16. | 48 kB of ROM composed of 16 kB MOS, 16 kB DFS, and 16 kB read-only paged space defaulting to the BBC BASIC. | ||
Keyboard | Full-travel keyboard with a top row of ten red-orange function keys . These generated text semigraphics when pressed with CTRL or SHIFT, and could be programmed with keyboard macros. The arrow keys and BREAK could also serve as function keys. | |||
Display | As Model B except RGB (Optional upgrade, soldering required). | 6-pin DIN digital RGB connector +5 V/0 V, 1 V p-p composite colour or monochrome video (link S39) and built-in UHF (PAL) RF modulator. | ||
Graphics | As Model B, but Modes 0, 1, 2, and 3 not available due to lack of memory. | Configurable graphics in Modes 0-6 (see table below) based on the Motorola 6845 CRT controller or Mode 7, a special Teletext mode, based a Mullard SAA5050 Teletext chip and only taking 1 kB of RAM. | ||
Sound | Four independent sound channels (one noise and three melodic) using the Texas Instruments SN76489 sound chip. Phoneme-based speech synthesis using the Texas Instruments TMS5220 with a custom Acorn ROM (the "PHROM", a TMS6100) of Kenneth Kendall's voice (optional). | |||
Tape storage | Tape interface (with a relay operated motor control), using a variation of the Kansas City standard data encoding scheme running at 1200 or 300 baud. | |||
Disk storage | Optional floppy disk interface based initially on the Intel 8271 chip and later on the WD1770, also requiring the installation of the DFS (disk filing system) ROM (and of soldered connector on Model A). (5.25" floppy drive usually used). | floppy disk controller based on the Western Digital WD1770 controller and DFS ROM as standard (except ANB51, ANB52[38][39]). | ||
Hard-disk storage | None (lack of memory). | Additional ADFS ROM required, external drive unit connected to the 1 MHz Bus interface. (Winchester Hard disc drives in 5 MB, 10 MB or 20 MB sizes. Maximum of 512 MB per drive, up to four drives). | ||
Serial Interface | Optional upgrade, soldering required. | 5-pin 'domino'-DIN RS-423 serial port. | ||
Parallel interface | Optional upgrade, soldering required. | 26-pin IDC Centronics-compatible parallel port. | ||
User port | Optional upgrade, soldering required. | 20-pin IDC "user port" with 8 general purpose digital I/O pins and two special/trigger sensitive digital pins used for control purposes (for eg a turtle when using the Logo programming language). | ||
Analogue interface | Optional upgrade, soldering required. | DA15 socket with four 8/12 bit analogue inputs based on µPD7002 IC (suitable for two joysticks), two inputs suitable for pushbuttons and an input for a light pen. | ||
1 MHz Bus | Optional upgrade, soldering required. | 34-pin IDC connector for generic expansion on a "daisy-chain" (used for connecting hard disks, sound synthesisers etc). | ||
The Tube | Optional upgrade, soldering required. | 40-pin IDC connector for external second CPU. Options included a second 6502, a Zilog Z80, the ARM Evaluation System, or a National Semiconductor 32016 (the latter was either branded "BBC Microcomputer System - 32016 Second Processor" or "Acorn Computer - Cambridge Co-Processor"), other vendors added 6809, 6800, 68000 and 68008. A 10 MHz 80186 co-processor from a BBC Master can be connected through a co-processor adapter to a BBC Micro, thus enjoying a limited degree of PC compatibility. | ||
Network (Optional extra) | Econet large-scale low-cost networking system - around 100 kbit/s using the Motorola 68B54 (standard on US model). |
Like the IBM PC with the contemporary Color Graphics Adapter, the video output of the BBC Micro could be switched under software control between a number of display modes. These varied between 20 column text suitable for a domestic TV, to 80 column text best viewed with a high-quality monitor. The variety of modes offered applications a flexible compromise between colour depth, resolution and memory footprint: in the first models, the OS and applications used whatever RAM was left over from the display.
Mode 7 was a Teletext mode, extremely economical on memory and an original requirement due to the BBC's own use of broadcast teletext (Ceefax): it also made the computer useful as a Prestel terminal. Train time displays at UK stations were driven by BBC Master computers in this mode until around the late 1990s.
Modes 0 to 6, the 'ASCII' modes, could display a choice of colours from a logical palette of sixteen: the eight basic colours at the vertices of the RGB colour cube, and eight flashing colours made by alternating the basic colour with its inverse. The palette could be freely reprogrammed without touching display memory. Modes 3 and 6 were special text-only modes that used less RAM by reducing the number of text rows and inserting blank scan lines below each row. Mode 6 was approximately the same size as Teletext. All Modes 0 to 6 could show diacritics and other user defined characters, and all but the two text modes supported vector graphics.
The BBC B+ and the later Master allowed 'shadow modes', where the framebuffer was stored in 20 kB of an alternative RAM bank, leaving the main memory up to 0x8000 free for user programs. This feature was enabled by setting bit 7 of the mode variable, i.e. by requesting modes 128–135.
Graphics mode | Resolution (X×Y) | Hardware colours | Video RAM | Type | ||
---|---|---|---|---|---|---|
Char cells | Pixels | used (KB) | map | |||
0 | 80 × 32 | 640 × 256 | 2 | 20 | 3000–7FFF | Graphics |
1 | 40 × 32 | 320 × 256 | 4 | 20 | 3000–7FFF | Graphics |
2 | 20 × 32 | 160 × 256 | 8 | 20 | 3000–7FFF | Graphics |
3 | 80 × 25 | 640 × 200 | 2 | 16 | 4000–7FFF | Text |
4 | 40 × 32 | 320 × 256 | 2 | 10 | 5800–7FFF | Graphics |
5 | 20 × 32 | 160 × 256 | 4 | 10 | 5800–7FFF | Graphics |
6 | 40 × 25 | 320 × 200 | 2 | 8 | 6000–7FFF | Text |
7 (Teletext) | 40 × 25 | 480 × 500[40] | 8 | 1 | 7C00–7FFF | Text |
A speech synthesis upgrade based on the Texas Instruments TMS5220 featured sampled phonemes spoken by BBC newscaster Kenneth Kendall. The speech system was standard on the US model where it had an American vocabulary. Elsewhere it sold poorly and was eventually eclipsed by Superior Software's software-based synthesiser using the standard sound hardware.
The speech upgrade also added two empty sockets next to the keyboard intended to take 16 kB serial ROM cartridges containing either extra speech phoneme data (in addition to the default speech ROM fitted to the motherboard), or general software accessed through the ROM Filing System. The original plan was that some games would be released on cartridges, but due to the limited sales of the speech upgrade, little or no software was ever produced for these sockets. The cut-out space next to the keyboard (nick-named the "ashtray") was more commonly used to install other upgrades, such as a ZIF socket for conventional paged ROMs.
The following people, organisations and places are credited within the operating system ROM as contributing the development of the BBC Computer 'among others too numerous to mention':- David Allen, Bob Austin, Ram Banerjee, Paul Bond, Allen Boothroyd, Cambridge, Cleartone, John Coll, John Cox, Andy Cripps, Chris Curry, 6502 designers, Jeremy Dion, Tim Dobson, Joe Dunn, Paul Farrell, Ferranti, Steve Furber, Jon Gibbons, Andrew Gordon, Lawrence Hardwick, Dylan Harris, Hermann Hauser, Hitachi, Andy Hopper, ICL, Martin, Jackson, Brian Jones, Chris Jordan, David King, David Kitson, Paul Kriwaczek, Computer Laboratory, Peter Miller, Arthur Norman, Glyn Phillips, Mike Prees, John Radcliffe, Wilberforce Road, Peter Robinson, Richard Russell, Kim Spence-Jones, Graham Tebby, Jon Thackray, Chris Turner, Adrian Warner, Sophie Wilson, Alan Wright[43]
The case was designed by industrial designer Allen Boothroyd of Cambridge Product Design Ltd.[44]
|
|